home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Misc / msql-1.0.6 / src / setup < prev   
Text File  |  1995-01-31  |  4KB  |  221 lines

  1. #!/bin/sh
  2. #
  3. #    Configuration script for mSQL.  This calls an autoconf generated
  4. #    script for most of the hard work but does a few other checks
  5. #    itself
  6. #                        bambi
  7.  
  8.  
  9. # Is this a Posix or bsd-ish shell?
  10.  
  11. if echo '\c' | grep -s c >/dev/null 2>&1
  12. then
  13.     ECHO_N="echo -n"
  14.     ECHO_C=""
  15. else
  16.     ECHO_N="echo"
  17.     ECHO_C='\c'
  18. fi
  19.  
  20. echo
  21. echo "Starting build of mSQL."
  22. echo 
  23. echo
  24. echo "Interactive configuration section"
  25. echo 
  26. $ECHO_N "    Top of install tree ? [/usr/local/Minerva] $ECHO_C"
  27. read INST_TOP
  28. if test "$INST_TOP." = "."
  29. then
  30.     INST_TOP=/usr/local/Minerva
  31. fi
  32.  
  33. $ECHO_N "    Will this installation be running as root ? [y] $ECHO_C"
  34. read ANS
  35. if test "$ANS." = "."
  36. then
  37.     ANS="y"
  38. fi
  39. if echo $ANS | grep -i "y" > /dev/null
  40. then
  41.     ROOT_EXEC="-DROOT_EXEC"
  42.     ROOT="root"
  43. else
  44.     ROOT_EXEC=""
  45.     $ECHO_N "    What username will it run under ?  $ECHO_C"
  46.     read ROOT
  47. fi
  48.  
  49.  
  50. PID_DIRS="/var/adm /var/log /usr/adm /private/adm"
  51. PID_DIR=""
  52. for dir in $PID_DIRS
  53. do
  54.     if test -d $dir
  55.     then
  56.         PID_DIR=${dir}
  57.         break
  58.     fi
  59. done
  60. $ECHO_N "    Directory for pid file ? [${PID_DIR}] $ECHO_C"
  61. read RESPONSE
  62. if test "$RESPONSE." != "."
  63. then
  64.     PID_DIR=$RESPONSE
  65. fi
  66.  
  67.  
  68. echo
  69. echo
  70. echo "Automatic configuration section"
  71. echo
  72.  
  73. cp conf/site.mm.in .
  74.  
  75. . conf/configure
  76.  
  77. if test "$LEX." = "flex."
  78. then
  79.     FLEX="1"
  80. else
  81.     FLEX="0"
  82. fi
  83.  
  84.  
  85. #
  86. # Work out how to do a readdir().  Could be Posix dirent or direct.
  87. # Could need dirent.h, sys/dir.h or even both!  (God help us).
  88. #
  89.  
  90. echo
  91. $ECHO_N "checking your directory stuff. $ECHO_C"
  92. cd conf
  93.     DIRENT=""
  94.     # Try Posix first
  95.     rm -f dirent
  96.     DEFS="-DHAVE_DIRENT_H -DHAVE_DIRENT"
  97.     ${CC-cc} -I../ -o dirent $DEFS dirent.c >/dev/null 2>&1
  98.     if test $? = 0
  99.     then
  100.         DIRENT=$DEFS
  101.         echo " Using dirent.h and struct dirent"
  102.     fi
  103.  
  104.     # Try old style
  105.     if test "$DIRENT." = "."
  106.     then
  107.         rm -f dirent
  108.         DEFS="-DHAVE_SYS_DIR_H -DHAVE_DIRECT"
  109.         ${CC-cc} -I../ -o dirent $DEFS dirent.c >/dev/null 2>&1
  110.         if test $? = 0
  111.         then
  112.             DIRENT=$DEFS
  113.             echo " Using sys/dir.h and struct direct"
  114.         fi
  115.     fi
  116.  
  117.     # O.K. Time to get silly
  118.     if test "$DIRENT." = "."
  119.     then
  120.         rm -f dirent
  121.         DEFS="-DHAVE_DIRENT_H -DHAVE_SYS_DIR_H -DHAVE_DIRECT"
  122.         ${CC-cc} -I../ -o dirent $DEFS dirent.c >/dev/null 2>&1
  123.         if test $? = 0
  124.         then
  125.             DIRENT=$DEFS
  126.             echo " Using sys/dir.h, dirent.h and struct direct"
  127.         fi
  128.     fi
  129.  
  130.     if test "$DIRENT." = "."
  131.     then
  132.         echo
  133.         echo
  134.         echo "Hang on!  Could't work out your directory routines"
  135.         echo "Check out conf/dirent.c and see what you need defined"
  136.         echo "to make it compile.  When you've worked that out,"
  137.         echo "rerun this script and enter the details at the prompt"
  138.         echo "offered below (e.g. -DHAVE_DIRENT -DHAVE_DIRENT_H) :-"
  139.         echo 
  140.         $ECHO_N "Defines for directory stuff? "
  141.         read DIRENT
  142.     fi
  143.  
  144.  
  145.  
  146. rm -f dirent
  147. cd ..
  148.  
  149.  
  150. #
  151. # mmap() test.
  152. #
  153.  
  154. $ECHO_N "checking mmap(). $ECHO_C"
  155.  
  156. cd conf
  157. ${CC-cc} -I../ -o mmap mmap.c >/dev/null 2>&1
  158. if test $? != 0
  159. then
  160.     MMAP=
  161.     echo " You don't have mmap(), I'll use read and write"
  162. else
  163.     ./mmap
  164.     if test $? != 0
  165.     then
  166.         echo " Your mmap() isn't good enough, I'll use read and write"
  167.         MMAP=
  168.     else
  169.         echo " Your mmap() is fine."
  170.         MMAP="-DHAVE_MMAP"
  171.     fi
  172. fi
  173. rm -f mmap
  174. cd ..
  175.  
  176.  
  177. #
  178. # u_int test.
  179. #
  180.  
  181. $ECHO_N "checking for u_int. $ECHO_C"
  182.  
  183. cd conf
  184. ${CC-cc} -I../ -o uint uint.c >/dev/null 2>&1
  185. if test $? != 0
  186. then
  187.     U_INT=
  188.     echo " You don't have u_int in sys/types.h"
  189. else
  190.     U_INT="-DHAVE_U_INT"
  191.     echo " You're fine."
  192. fi
  193. cd ..
  194.  
  195.  
  196.  
  197. mv site.mm site.mm.$$
  198. sed "    s,@INST_TOP@,$INST_TOP,
  199.     s,@FLEX@,$FLEX,
  200.     s,@SIGLIST@,$SIGLIST,
  201.     s,@DIRENT@,$DIRENT,
  202.     s,@MMAP@,$MMAP,
  203.     s,@U_INT@,$U_INT,
  204.     s,@ROOT_EXEC@,$ROOT_EXEC,
  205.     s,@ROOT@,$ROOT,
  206.     s,@PID_DIR@,$PID_DIR,
  207. " < site.mm.$$ > site.mm
  208. rm site.mm.$$
  209.  
  210. echo
  211. echo "Ready to build mSQL."
  212. echo
  213. echo
  214. echo
  215. echo "You may wish to check \"common/site.h\" although the defaults should be"
  216. echo "fine.  When you're ready, type  \"make all\" to build the software"
  217. echo
  218. echo
  219. echo
  220. echo
  221.